
package com.surfilter.massdata.es.core.service;

import java.io.IOException;
import java.util.List;

import com.surfilter.massdata.es.core.entity.EsFieldEntity;


/**
 * ClassName:EsApiService. <br/>
 * ES的API的服务类.以BR开头的方法表示提供给基础资源使用，以IS开头的方法表示提供给信安使用.<br/>
 * 这个类里面的所有方法均来源于ES入库流程文档中的逻辑.<p/>
 * Date:     2014年2月8日 下午3:35:10 <br/>
 * @author   Tuyan
 * @version  1.0.0
 * @since    JDK 1.6
 */
public interface EsApiService {
	
	/**
	 * 删除索引
	 * @param indexName
	 * @param typeName
	 */
	public void deleteByIndex(String indexName);

	/**
	 * 根据条件删除ES中的数据 效率太慢，请使用 deleteByIndex删除
	 * TODO entity中的key和value必须为值，不然会删除当前索引下的所有数据
	 * @param indexName
	 * @param typeName
	 * @param entity
	 * @throws IOException
	 *//*
	@Deprecated
	public void deleteByQuery(String indexName, String typeName,EsFieldEntity entity)  throws IOException;
	*//**
	 * 根据条件删除ES中的数据  效率太慢，请使用 deleteByIndex删除
	 * TODO entity中的key和value必须为值，不然会删除当前索引下的所有数据
	 * @param esClient
	 * @param indexName
	 * @param typeName
	 * @param list 查询条件 多个条件删除es中的数据。
	 * @throws IOException
	 *//*
	@Deprecated
	public void deleteByQuery(String indexName, String typeName,List<EsFieldEntity> list)  throws IOException;

	*//**
	 * 根据条件删除数据   效率太慢，请使用 deleteByIndex删除
	 * @param indexName 索引名
	 * @param typeName  类型名  类型后面都会添加当前日期作为删除条件  如：type_xxxx-xx-xx 
	 * @throws IOException
	 *//*
	@Deprecated
	public void deleteByType(String indexName, String typeName)  throws IOException;*/
}

